package main

import "fmt"

func updateSlice(arr []int) {
	arr[0] = 100
}

func main() {

	arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

	// fmt.Println("arr[2:8] =", arr[2:8])
	// fmt.Println("arr[2:] =", arr[2:])
	// fmt.Println("arr[:8] =", arr[:8])
	// fmt.Println("arr[:] =", arr[:])

	// slice 是对数组的一个 view

	fmt.Println("arr =", arr)
	s1 := arr[:]
	updateSlice(s1) // 会修改原数组，切片指向都是同一个
	fmt.Println("s1 =", s1)
	fmt.Println("arr =", arr)
}
